Natural rewriting and narrowing for general term rewriting systems
نویسندگان
چکیده
We address the problem of efficient rewriting and narrowing strategies for general term rewriting systems. Several strategies have been proposed over the last two decades, the most efficient of all being the natural rewriting and narrowing strategies of Escobar. All the strategies so far, including natural rewriting and narrowing, assume that the given term rewriting system is left-linear and constructor-based. Although these restrictions are reasonable for some functional programming languages, they limit the expressive power of equational languages, and they preclude certain applications of narrowing to equational theorem proving and to languages combining equational and logic programming. In this paper, we propose a conservative generalization of natural rewriting and narrowing that does not require the rules to be left-linear and constructor-based. We also establish the soundness and completeness of these generalizations.
منابع مشابه
Term Graph Narrowing 3
We introduce term graph narrowing as an approach for solving equations by transformations on term graphs. Term graph narrowing combines term graph rewriting with rst-order term uniication. Our main result is that this mechanism is complete for all term rewriting systems over which term graph rewriting is normalizing and connuent. This includes, in particular, all convergent term rewriting syste...
متن کاملSolving Equations by Graph Transformation
We review the concept of term graph narrowing as an approach for solving equations by transformations on term graphs. Term graph narrowing combines term graph rewriting with rst-order term uni cation. This mechanism is complete for all term rewriting systems over which term graph rewriting is normalizing and conuent. This includes, in particular, all convergent term rewriting systems. Completen...
متن کاملNatural Narrowing for General Term Rewriting Systems
For narrowing to be an efficient evaluation mechanism, several lazy narrowing strategies have been proposed, although typically for the restricted case of left-linear constructor systems. These assumptions, while reasonable for functional programming applications, are too restrictive for a much broader range of applications to which narrowing can be fruitfully applied, including applications wh...
متن کاملUniication, Rewriting, and Narrowing on Term Graphs 1
The concept of graph substitution recently introduced by the authors is applied to term graphs, yielding a uniform framework for uniication, rewriting, and narrowing on term graphs. The notion of substitution allows deenitions of these concepts that are close to the corresponding deenitions in the term world. The rewriting model obtained in this way is equivalent to \collapsed tree rewriting" a...
متن کاملA Complete Narrowing Calculus for Higher-Order Functional Logic Programming
Using higher-order functions is standard practice in functional programming, but most functional logic programming languages that have been described in the literature lack this feature. The natural way to deal with higher-order functions in the framework of ( rst-order) term rewriting is through so-called applicative term rewriting systems. In this paper we argue that existing calculi for lazy...
متن کامل